package com.ihr360.payroll.config;

import com.google.common.collect.Lists;
import com.ihr360.commons.model.IEnabledEntity;
import com.ihr360.commons.model.entity.NumberIdWithTimeAndCompanyId;
import com.ihr360.commons.model.type.TaxRole;

import java.util.List;

public class SalaryTaxTableEntity extends NumberIdWithTimeAndCompanyId implements IEnabledEntity {

    private String code;

    /**
     * 缴税地区
     */
    private TaxDivisionEntity division;

    /**
     * 缴税类型
     */
    private SalaryTaxTypeEntity type;

    /**
     * 状态
     */
    private boolean enabled = true;

    /**
     * 代扣/代付
     */
    private boolean affordByStaff = true;

    /**
     * 纳税身份
     */
    private TaxRole taxRole = TaxRole.NATIVE;

    /**
     * 个税配置
     */
    private List<SalaryTaxEntity> salaryTaxes = Lists.newArrayList();

    private String remark;


    @Override
    public boolean isEnabled() {
        return enabled;
    }

    @Override
    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public TaxDivisionEntity getDivision() {
        return division;
    }

    public void setDivision(TaxDivisionEntity division) {
        this.division = division;
    }

    public SalaryTaxTypeEntity getType() {
        return type;
    }

    public void setType(SalaryTaxTypeEntity type) {
        this.type = type;
    }

    public boolean isAffordByStaff() {
        return affordByStaff;
    }

    public void setAffordByStaff(boolean affordByStaff) {
        this.affordByStaff = affordByStaff;
    }

    public TaxRole getTaxRole() {
        return taxRole;
    }

    public void setTaxRole(TaxRole taxRole) {
        this.taxRole = taxRole;
    }

    public List<SalaryTaxEntity> getSalaryTaxes() {
        return salaryTaxes;
    }

    public void setSalaryTaxes(List<SalaryTaxEntity> salaryTaxes) {
        this.salaryTaxes = salaryTaxes;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
